package com.bionic.banking.logic;

import com.bionic.banking.core.entity.BankAccount;
import com.bionic.banking.core.entity.Customer;
import com.bionic.banking.logic.exception.InvalidParameterException;
import com.bionic.banking.logic.exception.TransactionTypeNotFoundException;
import java.sql.SQLException;
import java.util.List;

public interface ICustomerController {

    Customer getCustomerByUserId(Integer userId) throws SQLException, InvalidParameterException;

    List<Customer> getCustomersByEmail(String email) throws SQLException, InvalidParameterException;

    List<BankAccount> getCustomerAccounts(Integer customerId)            
            throws SQLException, InstantiationException, InvalidParameterException,
            IllegalAccessException, TransactionTypeNotFoundException;
}
